Empezare hablando de la stdio.h ,libreria de entrada/salida de datos.
Esta libreria contiene gran numero de funciones para la entrada y salida
de datos, por lo que es imprescindible incluirla (mediante un include)
en casi el 100% de los programas (dado que la mayoria de programas siempre
recibiran o enviaran datos).

En este punto del temario solo nos vamos a centar en la entrada de datos POR TECLADO 
y la salida de datos POR PANTALLA.

Antes de nada,vamos a ver como se les indica a estas funciones el tipo de datos a 
leer/mostrar (siempre que sea necesario).

%d  --> Entero corto (int)

%f  --> Decimal corto (float)

%c  --> Caracter(char)

%s  --> Cadena de caracteres

%ld --> Entero largo (long int)

%lf --> Decimal largo (long float)

Ahora hablaremos primero de las principal funcion de salida por pantalla,printf

	printf nos va a permitir imprimir por pantalla cualquier caracter entre comillas
	y cualquier tipo de variable. Vamos a ver un ejemplo de su uso:

		printf("Hola");

	Asi imprimiria Hola en pantalla.
	Ahora supongamos que tenemos dos variables, int x=3,z=5;
	Son dos variables enteras, cada uno con su valor.

		printf("X vale %d y z vale %d",x,z);

	Eso imprimira en pantalla x vale 3 y z vale 5
	Fijaos que el orden en que se imprimen las variables sustituyendo su tipo
	de datos (en este caso %d por ser enteros) es el mismo en el que se colocan
	tras cerrar las comillas.

	Lo mismo ocurrira si tuvieramos una variable char, char x='A';

		printf("El caracter es %c",x);

	Imprimiria en pantalla El caracter es A 

	Existen varios caracteres especiales representados por \ y una letra
	uno de los mas usados es el "\n"(sin comillas) que actua de salto de carro
	(pasa al principio de la linea siguiente)
	
		printf("hola\nhola");
		
		El resultado seria:
		
		hola
		hola
	
	Existen otras muchas funciones de salida por pantalla, pero esta es la mas
	util de todas.

Ahora hablaremos de la principal funcion de entrada por teclado, scanf

	scanf nos va a permitir almacenar cualquier tipo de dato.
	Vamos a suponer que tenemos declarado, float x=0;
	La variable decimal X valdra 0.
	Usamos scanf

	scanf("%f",&x);

	El & antes de la variable es imprescindible, ya que lo que hace es apuntar 
	a la direccion de memoria de la variable. Si no lo poneis, os dara un error
	de memoria.
	
	Esa instruccion de scanf, os permitiria meter por teclado un valor para la 
	variable x. Supongamos que tecleamos "3"(sin las comillas).
	El valor de x, inicialmente declarado como 0, pasaria a ser 3.

	scanf funciona igual para todos los tipos de datos.

	Solo una recomendacion.Al capturar strings(char declarado como vector,
	lo veremos mas adelante que son vectores,pero si os pica la curiosidad
	navegar por la web), scanf aunque escribais un string largo, si tiene espacios
	dejara de capturar cuando encuentre un espacio. Para capturar strings con espacios
	recomiendo usar la funcion gets(variable);

	Os voy a poner un ejemplo en codigo fuente para que lo compileis y probeis:


#include <stdio.h>

void main()
{
char hola[100];
char adios[100]; //Estas dos variables son strings
printf("Ahora capturaremos con el scanf:\n");
scanf("%s",&hola);//Nuestro amigo el scanf capturando un string ;)
fflush(stdin); //Esta funcion se usa para borrar el buffer del teclado y asi evitar
		//que cosas escritas en un scanf o gets, se "pasen" a otro.
		// Recomiendo tomeis esta funcion como apunte "teorico"
printf("\nAhora capturaremos con el gets:\n");
gets(adios); //La funcion gets capturando un string

printf("Resultado con el scanf: %s\n",hola); //Imprimiendo en pantalla la captura de scanf
printf("Resultado con el gets: %s\n",adios); //Imprimiendo en pantalla la captura de gets
getchar();
}

	La funcion gets se usa exclusivamente para capturar strings o caracteres.

	Aparte de esas dos, existen mas funciones para la captura de datos por teclado,
	pero esas son las mas comunes.

Texto escrito integramente por ]_HQH_[ 

Este texto es de libre distribucion, pero debes citar la fuente http://nuevared.tk

Texto escrito para el curso de programacion basica en C de http://prehackers.com y 
http://nuevared.tk 

	